﻿using KWT.DRG_DIP.Common;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KWT.DRG_DIP.PO.Settlement
{
    /// <summary>
    /// 医保结算清单
    /// </summary>
    public class Sys_List
    {
        /// <summary>
        /// 主键
        /// </summary>
        [Key]
        public string ListID { get; set; }
        /// <summary>
        /// 所属院区
        /// </summary>
        public string AreaID { get; set; }
        /// <summary>
        /// 清单流水号
        /// </summary>
        public long QDLSH { get; set; }
        /// <summary>
        /// 定点医疗机构名称
        /// </summary>
        public string HospitalName { get; set; }
        /// <summary>
        /// 定点医疗机构代码
        /// </summary>
        public string HospitalCode { get; set; }
        /// <summary>
        /// 医保结算等级
        /// </summary>
        public string Level { get; set; }
        /// <summary>
        /// 医保编号
        /// </summary>
        public string InsureCode { get; set; }
        /// <summary>
        /// 病案号
        /// </summary>
        public string Number { get; set; }
        /// <summary>
        /// 健康卡号
        /// </summary>
        public string CardNo { get; set; }
        /// <summary>
        /// 申报时间
        /// </summary>
        public DateTime DeclareTime { get; set; }
        /// <summary>
        /// 科室ID
        /// </summary>
        public string CategoryID { get; set; }
        /// <summary>
        /// 科室名称
        /// </summary>
        public string CategoryName { get; set; }

        /// <summary>
        /// 分组编码:DRG:DRG编码；DIP：病种编码
        /// </summary>
        public string Group_Code { get; set; }
        /// <summary>
        /// 分组名称:DRG:DRG名称；DIP：病种名称
        /// </summary>
        public string Group_Name { get; set; }

        /// <summary>
        /// DIP 辅助目录 类别
        /// </summary>
        public string Assist_Type { get; set; }
        /// <summary>
        /// DIP 辅助目录 编码
        /// </summary>
        public string Assist_Code { get; set; }
        /// <summary>
        /// DIP 辅助目录 名称
        /// </summary>
        public string Assist_Name { get; set; }


        /// <summary>
        /// 主要诊断编码
        /// </summary>
        public string Diag_Code { get; set; }
        /// <summary>
        /// 主要诊断名称
        /// </summary>
        public string Diag_Name { get; set; }
        /// <summary>
        /// 主要手术操作编码
        /// </summary>
        public string Oper_Code { get; set; }
        /// <summary>
        /// 主要手术操作名称
        /// </summary>
        public string Oper_Name { get; set; }
        /// <summary>
        /// 倍率
        /// </summary>
        [Precision(1)]
        public decimal Mag { get; set; }
        /// <summary>
        /// 倍率类型
        /// </summary>
        public int MagType { get; set; }

        /// <summary>
        /// 点数
        /// </summary>
        public decimal Point { get; set; }
        /// <summary>
        /// 分数
        /// </summary>
        public decimal Score { get; set; }
        /// <summary>
        /// 倍率名称
        /// </summary>
        public string MagName { get; set; }
        /// <summary>
        /// 结算方式
        /// </summary>
        public int SettleType { get; set; }
        /// <summary>
        /// 出院日期
        /// </summary>
        public DateTime OutDate { get; set; }
        /// <summary>
        /// 结算日期
        /// </summary>
        public DateTime SettleDate { get; set; }
        /// <summary>
        /// 异常行为
        /// </summary>
        public string Abnormal { get; set; }
        /// <summary>
        /// 审核状态(-1:失败 0：待审核)
        /// </summary>
        public int CheckStatus { get; set; }
        /// <summary>
        /// 审核人
        /// </summary>
        public string CheckBy { get; set; }
        /// <summary>
        /// 上传状态
        /// </summary>
        public int UploadStatus { get; set; }
        /// <summary>
        /// 上传截止日期
        /// </summary>
        public DateTime UploadEndTime { get; set; }
        /// <summary>
        /// 清单质控  ( -1：质控失败 0:待质控 1：已质控)
        /// </summary>
        public int Flag { get; set; }
        /// <summary>
        /// 生成时间
        /// </summary>
        public DateTime CreateDate { get; set; } = DateTime.Now;
    }
}
